package commonusealgorithm;

/**
 * @Author PoX21s
 * @Date: 2021/10/30 14:02
 * @Version 1.0
 */

public class Hanoi {
    // 统计需要移动的次数
    static int count;
    public static void main(String[] args) {
        char a = 'a';
        char b = 'b';
        char c = 'c';
        move(5,a,b,c);
        System.out.println(count);
    }

    public static void move(int num, char a, char b, char c){
        count++;
        // 当只有一个盘的时候，直接从a移动到c
        if (num == 1){
            System.out.println("第一个盘从："+a+"移动到"+c);
        } else {
            // 将n-1个盘从a借助c移动到b
            move(num -1, a, c, b);
            // 将最后一个盘从a直接移动到c
            System.out.println("将"+num+"从"+a+"移动到"+c);
            // 最后将b上的n-1个盘从b借助a移动到c
            move(num - 1, b, a, c);
        }
    }
}
